$(document).ready(function() {
    $("#botonAgregarHuesped").click(function() {
        $("#modalAgregarHuesped").modal({
            backdrop: true,
            keyboard: true
        }).css({
            width: '960px',
            'margin-left': function() {
                return -($(this).width() / 2);
            }
        });
        resetCrearReserva();
    });

    $("#botonFromAgregarHuesped").click(function(e) {
        if (!validarFormulario("form-crear-huesped")) {
            return false;
        }
        var expresionRegular = /^\d{2}\/\d{2}\/\d{4}$/;
        if (!(document.getElementById("fechaNacimiento").value).match(expresionRegular)) {
            $("#ayudaFechaNacimiento").show();
            return false;
        }
        $("#form-crear-huesped").submit();
    });
    $("#tablaListarClientes a.eliminarCliente").click(function() {
        var idCliente = $(this).data("id-cliente");
        var nombreCompleto = $(this).data("nombre-completo");
        $("#id-cliente").val(idCliente);
        $("#nombre-huesped").html(nombreCompleto);
    });

    /* Evento disparador del ajax */
    $("#documento").change(function() {
        var identificacion = $("#documento").val();
        var nacionalidad = $("#nacionalidad").val();
        if (identificacion != "" && nacionalidad != "") {
            cargarCliente(identificacion, nacionalidad);
        }
    });
    $("#nacionalidad").change(function() {
        var identificacion = $("#documento").val();
        var nacionalidad = $("#nacionalidad").val();
        if (identificacion != "" && nacionalidad != "") {
            cargarCliente(identificacion, nacionalidad);
        }
    });

    function cargarCliente(identificacion, nacionalidad) {
        $.ajax({
            url: "cargarCliente",
            data: {
                identificacion: identificacion,
                nacionalidad: nacionalidad,
                tipo: "1"
            },
            type: 'POST',
            success: function(data) {
                if (data != "[]") {
                    data = JSON.parse(data);
                    //  document.getElementById('resultadoAjax').innerHTML = "" + data[0]["nombre"] + " ya es cliente";
                    $("#idCliente").val(data[0]["id_cliente"]);
                    $("#tipoDocumento").val(data[0]["tipo_documento"]);
                    $("#nombre").val(data[0]["nombre"]);
                    $("#apellido").val(data[0]["apellido"]);
                    $("#genero").val(data[0]["genero"]);
                    var fechaNacimiento = (data[0]["fecha_nacimiento"]).split('-')
                    $("#fechaNacimiento").val(fechaNacimiento[2] + "/" + fechaNacimiento[1] + "/" + fechaNacimiento[0]);
                    $("#telefono").val(data[0]["telefono"]);
                    $("#email").val(data[0]["email"]);
                    $("#idEstadoCivil").val(data[0]["id_estado_civil"]);
                    $("#ocupacion").val(data[0]["ocupacion"]);
                    bloquearInputPersona();
                    $("#resultadoAjax").css("color", "#669533");
                    $("#resultadoAjax").show();
                } else {
                    $("#idCliente").val("");
                    resetEnCaliente();
                    desBoquearInputPersona();
                    //   document.getElementById('resultadoAjax').innerHTML = "Este cliente es nuevo";
                    $("#resultadoAjax").css("color", "#317eac");
                    $("#resultadoAjax").show();
                }
            }
        });
    }

    function resetCrearReserva() {
        $("#bodyModal .error").remove();
        desBoquearInputPersona();
        $("#bodyModal").find(':input').each(function() {
            var elemento = this;
            elemento.value = "";
        });
        $("#ayudaFechaNacimiento").hide();
    }
    function resetEnCaliente() {//persona o empresa
        $("#form-crear-huesped").find(':input:not(.preservar)').each(function() {
            var elemento = this;
            elemento.value = "";
        });
        $("#ayudaFechaNacimiento").hide();
        //  document.getElementById('resultadoAjax').innerHTML = "";
    }

    function bloquearInputPersona() {
        $("#tipoDocumento option:not(:selected)").attr('disabled', 'disabled');
        $("#tipoDocumento").addClass("selectBloqueado");
        $("#idEstadoCivil option:not(:selected)").attr('disabled', 'disabled');
        $("#idEstadoCivil").addClass("selectBloqueado");
        $("#genero option:not(:selected)").attr('disabled', 'disabled');
        $("#genero").addClass("selectBloqueado");
        $("#nombre").addClass("uneditable-input").attr('readonly', true);
        $("#apellido").addClass("uneditable-input").attr('readonly', true);
        $('#fechaNacimiento').datepicker("option", "minDate", 0).datepicker("option", "maxDate", 0).addClass("uneditable-input").attr('readonly', true);
        $("#telefono").addClass("uneditable-input").attr('readonly', true);
        $("#email").addClass("uneditable-input").attr('readonly', true);
        $("#ocupacion").addClass("uneditable-input").attr('readonly', true);
        $("#form-crear-huesped .editar").show();
    }
    function desBoquearInputPersona() {
        $("#tipoDocumento option").removeAttr('disabled');
        $("#tipoDocumento").removeClass("selectBloqueado");
        $("#idEstadoCivil option").removeAttr('disabled');
        $("#idEstadoCivil").removeClass("selectBloqueado");
        $("#genero option").removeAttr('disabled');
        $("#genero").removeClass("selectBloqueado");
        $("#nombre").removeClass("uneditable-input").attr('readonly', false);
        $("#apellido").removeClass("uneditable-input").attr('readonly', false);
        $('#fechaNacimiento').datepicker("option", "minDate", null).datepicker("option", "maxDate", null).removeClass("uneditable-input").attr('readonly', false);
        $("#telefono").removeClass("uneditable-input").attr('readonly', false);
        $("#email").removeClass("uneditable-input").attr('readonly', false);
        $("#ocupacion").removeClass("uneditable-input").attr('readonly', false);
        $("#form-crear-huesped .editar").hide();
    }

    $("#form-crear-huesped  a.editar").click(function() {
        $("+ span.error", $(this)).remove();
        if ($(this).attr("id") == "editarFechaNacimieno") {
            $('#fechaNacimiento').datepicker("option", "minDate", null).datepicker("option", "maxDate", null).removeClass("uneditable-input").attr('readonly', false);
        }
        else {
            $('#fechaNacimiento').datepicker('enable');
            $("+ input", $(this)).focus().removeClass("uneditable-input").attr('readonly', false);
            $("+ select", $(this)).focus().removeClass("selectBloqueado");
            $("+ select option", $(this)).focus().removeAttr('disabled');
        }
    });

});
